#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
    动态语言调用实例方法时不检查类型，只要方法存在，参数正确，就可以调用。
    这就是动态语言的“鸭子类型”，它并不要求严格的继承体系，
    一个对象只要“看起来像鸭子，走起路来像鸭子”，那它就可以被看做是鸭子。
"""


class BasicGenerator(object):
    def __init__(self, config):
        self.config = config
        self.name = config['name']  # 下载任务名称
        self.mq = config['mq']  # 任务队列实例
        self.queue_name = config.get('queue_name', self.name)  # 任务队列名称
        self.stat = config.get('stat', None)
        self.stat_hash = config.get('stat_hash', '{0}_stat_hash'.format(self.name))
        self.mdb = config['mdb']  # 数据库
        self.rds = config['rds']  # redis

    def run(self):
        self.gen_task()

    def gen_task(self):
        pass

    def close(self):
        pass
